package coop.tecso.capacitaciones.threads.ejercicio3;

import coop.tecso.capacitaciones.threads.counter.Counter;

/**
 * Implementacion de Counter
 * 
 * @author fgarcia
 */
public class CounterImpl implements Counter {

	private long count = 0;

	@Override
	public void increment() {
		count++;
		// supongamos que el increment tarda mas que el decrement
		// eso es algo pesado que puede hacerse en paralelo
		hacerAlgo();
	}

	@Override
	public void decrement() {
		count--;
	}

	@Override
	public long getCount() {
		return count;
	}

	private void hacerAlgo() {
		try {
			Thread.sleep(10);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}
}
